package com.carol.lmsbe.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carol.lmsbe.dto.ConsumablePlanCreateRequest;
import com.carol.lmsbe.dto.ConsumablePlanDTO;
import com.carol.lmsbe.dto.ConsumablePlanQueryRequest;

/**
 * 易耗品计划服务接口
 */
public interface ConsumablePlanService {

    /**
     * 分页查询易耗品计划
     */
    Page<ConsumablePlanDTO> listPlans(ConsumablePlanQueryRequest request);

    /**
     * 根据ID获取易耗品计划详情
     */
    ConsumablePlanDTO getPlanById(Long id);

    /**
     * 创建易耗品计划
     */
    ConsumablePlanDTO createPlan(ConsumablePlanCreateRequest request);

    /**
     * 更新易耗品计划
     */
    ConsumablePlanDTO updatePlan(Long id, ConsumablePlanCreateRequest request);

    /**
     * 删除易耗品计划
     */
    void deletePlan(Long id);

    /**
     * 提交易耗品计划
     */
    void submitPlan(Long id);

    /**
     * 审批易耗品计划
     */
    void approvePlan(Long id, String status, String comment);

    /**
     * 获取我的易耗品计划
     */
    Page<ConsumablePlanDTO> getMyPlans(ConsumablePlanQueryRequest request);
}
